我正在使用.htccess文件来重写我的网址。我在.htaccess文件中使用以下规则
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^product/([0-9]+)/([A-Za-z0-9+]+)$ /product.php?productid=$1&prodname=$2
重写工作正常。
但是当我尝试通过所有情况下的相对路径访问任何其他页面时,URL没有被正确地重定向。
如下例所示
<form action "something.php" method="post">
<input type="text" name="1" />
<input type="submit" value="submit" />
</form>
当我点击提交时,加载的页面为http://mydomain/product/1/something/something.php
,该页面不存在,因此会抛出404错误
我尝试在头部使用基本标签,但这会在我使用页面锚点和模态窗口时产生问题。它被重定向到索引页面。
如果需要进一步的详细信息,请与我们联系。
我对此很新。那么,有人可以帮我解决这个问题吗?
先谢谢, 卡尔蒂克
答案 0 :(得分:3)
这是一个解决网址问题。有关详细信息,请参阅mod_rewrite URL info required。
您可以使用绝对网址路径或绝对网址:
<form action="/something.php" method="post">
<form action="http://example.com/something.php" method="post">
或者您更改了基本网址(请参阅BASE
HTML element),以便从该网址解析每个相对网址,而不是当前网址:
<base href="/">
<base href="http://example.com/">
答案 1 :(得分:0)
解决这个问题的简单易用版本是绝对路径你的网址 - 表单操作中的/something.php,而不仅仅是'something.php'。