1
我设置的网站比我通常使用定制的CMS系统稍微复杂一些,并且遇到了绊脚石。Mod_rewrite - .htaccess中的多条规则
基本上就是我想实现的是一个简单的顶级页面结构,网址是干净如下:
http://www.mywebsite.com/page.php?page_url=val1
通常不是问题,但现有的.htaccess已经有几个RewriteRules存在,并且任何添加RewriteRule的变体都会冲突并阻止选择页面的工作。
尝试变化周围...
RewriteCond %{QUERY_STRING} ^page=(.+)
RewriteRule ^$ /%1? [R=301,L]
没有快乐。
我是否需要重新思考我的策略,或者是否存在某些我只是简单忽略的内容?
我应该朝着使顶层目录页“market.php”做工作,在#重写指定要重新考虑市场层面改写
我现有的.htaccess是如下,经过彻底工作正常测试,但更改为包含新的顶级页面会导致错误。
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
# Force search engines to use www
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$
RewriteRule ^(.*) http://www.mywebsite.com/$1 [R=301,L]
# Specify MARKET LEVEL rewrite
RewriteRule ^top-level-category-1$ /market.php?p=top-level-category-1 [L]
RewriteRule ^top-level-category-2$ /market.php?p=top-level-category-2 [L]
RewriteRule ^top-level-category-3$ /market.php?p=top-level-category-3 [L]
RewriteRule ^top-level-category-4$ /market.php?p=top-level-category-4 [L]
RewriteRule ^top-level-category-5$ /market.php?p=top-level-category-5 [L]
RewriteRule ^top-level-category-6$ /market.php?p=top-level-category-6 [L]
Options +FollowSymLinks
# Specify OFFER LEVEL rewrite
RewriteRule offer/(.*)/ offer.php?p=$1
RewriteRule offer/(.*) offer.php?p=$1
# Specify CLAIM OFFER LEVEL rewrite
RewriteRule get-offer/(.*)/ reveal.php?claim=$1
RewriteRule get-offer/(.*) reveal.php?claim=$1
# Specify CLAIM EVENT LEVEL rewrite
RewriteRule event-bonus/(.*)/ reveal-event.php?claim=$1
RewriteRule event-bonus/(.*) reveal-event.php?claim=$1
# Specify SEARCH LEVEL rewrite
RewriteRule search/(.*)/ search.php?p=$1
RewriteRule search/(.*) search.php?p=$1
# Specify EVENT LEVEL rewrite
RewriteRule offers/(.*)/ offers.php?p=$1
RewriteRule offers/(.*) offers.php?p=$1
# Specify BLOG LEVEL rewrite
RewriteRule blog/(.*)/ blog.php?p=$1
RewriteRule blog/(.*) blog.php?p=$1
RewriteRule view-blog/(.*)/ view-blog.php?p=$1
RewriteRule view-blog/(.*) view-blog.php?p=$1
# Specify EXPIRED OFFER LEVEL rewrite
RewriteRule offer-expired/(.*)/ offer-expired.php?p=$1
RewriteRule offer-expired/(.*) offer-expired.php?p=$1
它不起作用。在现有的.htaccess中进行测试,并且没有页面加载 – Lee
@请看thickguru所说的应该如何工作,因为它是正确的.htaccess,就像你说的那样。我想如果不是那么它应该是在你现有的计算机上覆盖它或忽略这个规则的问题。你把他在htaccess文件的顶部说了什么? –