[英]Very basic htaccess pretty URL
我在將硬編碼URL重定向到漂亮URL時遇到麻煩。
我想訪問以下網址:
mysite.com/index.php?page=links
導航至:
mysite.com/links/
我已經閱讀了有關該主題的許多其他問題,但它們都與通過字符串通過url傳遞的動態數據有關。 我只想要一個簡單的htaccess RewriteRule,它只會影響此特定的url,而不會影響其他任何內容。
我已經嘗試了很多東西,但沒有任何效果,每次都是404。
范例:
RewriteEngine On
RewriteRule ^links/ index.php?page=links
任何幫助表示贊賞。
編輯-對提供的建議答案做出反應。 這完全不是我想要做的。 我並不想將頁面重定向到另一頁面,我只想在瀏覽器中重寫URL。
我找到了解決方案。 apache2.conf不允許覆蓋,因此我添加了以下內容。
<Directory /var/www/html/public/>
Options Indexes FollowSysmLinks
AllowOverride All
Require all granted
</Directory>
這樣安全嗎?
index.php
<?php
define('BASE_URL', '/mysite.com/');
if (isset($_GET['page'])) {
echo "query string ==> $_SERVER[QUERY_STRING]" . "<br />";
} else {
echo "Not query 'page'" . "<br />";
}
echo "url ==> $_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" . "<br />";
?>
<a href="<?php echo BASE_URL; ?>">index</a><br/>
<a href="<?php echo BASE_URL; ?>1">1</a><br/>
<a href="<?php echo BASE_URL; ?>2">2</a><br/>
<a href="index.php?page=3">3</a><br/>
.htaccess
RewriteEngine On
#RegEx pattern matching => query string
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.