当我请求我的网站时,我试图在 URL 中添加斜杠,然后使用 mod_rewrite 将其作为参数传递给 index.php。
我的.htaccess文件如下所示:
RewriteEngine On
#Add trailing slash
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R]
#Pass to index.php
RewriteRule ^(.*)/$ index.php?p=$1
在我的index.php文件中只输出参数:
<?php echo $_GET["p"]; ?>
但是当我在地址栏输入除http://mydomain.com/之外的任何内容时,例如http://mydomain.com/contact,php总是输出http://mydomain.com/index.php
。所以http://mydomain.com/index.php
以某种方式作为参数而不是请求的页面传递contact
,但我不知道为什么......
另外,当我编辑
RewriteRule ^(.*)/$ index.php?p=$1
至
RewriteRule ^(.*)/$ /index.php?p=$1
我输入 URL,例如mydomain.com/contact
Apache 给了我 302 Found 和一个指向它被移动的位置的链接,但它链接到同一个页面......
有任何想法吗?
谢谢。