簡體   English   中英

非常基本的htaccess漂亮網址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM