我已经研究了一段时间,并尝试了很多我在网上看过的不同解决方案,似乎无法让它发挥作用。
我在www.mydomainname.com上有一个网站。我想处理所有页面请求的页面是www.mydomain.com/index.php。我还想将其设置为适用于我指向此代码库的任何其他域(使用通配符将是我认为的方法)。
因此,以下URL类型(或任何其他类型)应自动转到index.php,同时仍保留浏览器地址栏中的原始URL结构:
www.mydomain.com/
mydomain.com/
www.mydomain.com/item/111
www.mydomain.com/item/itemname/anothervariable/value
www.mydomain.com/item/itemname/?variable=value
我正在使用PHP 5和最新版本的Apache并启用了mod_rewrite。
提前感谢您的帮助!
答案 0 :(得分:0)
每个.htaccess文件包含一次:
Options +FollowSymlinks
RewriteEngine on
RewriteRule (.*) index.php
如果您需要匹配网址中的信息,您可以修改您的RewriteRule以匹配旧网址的部分,或者只使用变量$1
等来包含所有内容。例如,如果您希望将项目编号快速传递给index.php,则可以使用此规则:
RewriteRule item/(.*)$ index.php?item=$1
答案 1 :(得分:0)
简单:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !\.(jpg|gif|ico|png|bmp|css|js)$
RewriteRule .* index.php
答案 2 :(得分:0)
您可以使用以下RewriteRule
RewriteEngine On
RewriteRule ^(.*)$ /index.php?originalUrl=$1
未经测试,但它应该有效。然后,您还可以在'originalUrl'GET参数中使用原始URL进行进一步解析。